Aula 20, M3
Sala de Situação - UnB
brasil_bruto <- import("Exercicios/covid_br_2022.csv")
regiao_geobr <- read_region() %>%
rename(regiao=`name_region`) %>%
mutate(regiao=if_else(regiao=="Centro Oeste", "Centro-Oeste", regiao))
Downloading: 1.2 kB
Downloading: 1.2 kB
Downloading: 13 kB
Downloading: 13 kB
Downloading: 18 kB
Downloading: 18 kB
Downloading: 18 kB
Downloading: 18 kB
Downloading: 18 kB
Downloading: 18 kB
Downloading: 26 kB
Downloading: 26 kB
Downloading: 26 kB
Downloading: 26 kB
Downloading: 26 kB
Downloading: 26 kB
Downloading: 34 kB
Downloading: 34 kB
Downloading: 34 kB
Downloading: 34 kB
Downloading: 34 kB
Downloading: 34 kB
Downloading: 42 kB
Downloading: 42 kB
Downloading: 42 kB
Downloading: 42 kB
Downloading: 50 kB
Downloading: 50 kB
Downloading: 50 kB
Downloading: 50 kB
Downloading: 58 kB
Downloading: 58 kB
Downloading: 58 kB
Downloading: 58 kB
Downloading: 67 kB
Downloading: 67 kB
Downloading: 67 kB
Downloading: 67 kB
Downloading: 75 kB
Downloading: 75 kB
Downloading: 83 kB
Downloading: 83 kB
Downloading: 91 kB
Downloading: 91 kB
Downloading: 91 kB
Downloading: 91 kB
Downloading: 91 kB
Downloading: 91 kB
Downloading: 99 kB
Downloading: 99 kB
Downloading: 99 kB
Downloading: 99 kB
Downloading: 110 kB
Downloading: 110 kB
Downloading: 120 kB
Downloading: 120 kB
Downloading: 120 kB
Downloading: 120 kB
Downloading: 130 kB
Downloading: 130 kB
Downloading: 160 kB
Downloading: 160 kB
Downloading: 160 kB
Downloading: 160 kB
Downloading: 160 kB
Downloading: 160 kB
Downloading: 170 kB
Downloading: 170 kB
Downloading: 170 kB
Downloading: 170 kB
Downloading: 180 kB
Downloading: 180 kB
Downloading: 180 kB
Downloading: 180 kB
Downloading: 190 kB
Downloading: 190 kB
Downloading: 190 kB
Downloading: 190 kB
Downloading: 200 kB
Downloading: 200 kB
Downloading: 200 kB
Downloading: 200 kB
Downloading: 200 kB
Downloading: 200 kB
Downloading: 200 kB
Downloading: 200 kB
Downloading: 200 kB
Downloading: 200 kB
Downloading: 210 kB
Downloading: 210 kB
Downloading: 210 kB
Downloading: 210 kB
Downloading: 210 kB
Downloading: 210 kB
Downloading: 220 kB
Downloading: 220 kB
Downloading: 220 kB
Downloading: 220 kB
Downloading: 230 kB
Downloading: 230 kB
Downloading: 240 kB
Downloading: 240 kB
Downloading: 240 kB
Downloading: 240 kB
Downloading: 240 kB
Downloading: 240 kB
Downloading: 250 kB
Downloading: 250 kB
Downloading: 260 kB
Downloading: 260 kB
Downloading: 270 kB
Downloading: 270 kB
Downloading: 270 kB
Downloading: 270 kB
Downloading: 280 kB
Downloading: 280 kB
Downloading: 290 kB
Downloading: 290 kB
Downloading: 290 kB
Downloading: 290 kB
Downloading: 300 kB
Downloading: 300 kB
Downloading: 300 kB
Downloading: 300 kB
Downloading: 320 kB
Downloading: 320 kB
Downloading: 330 kB
Downloading: 330 kB
Downloading: 330 kB
Downloading: 330 kB
Downloading: 330 kB
Downloading: 330 kB
Downloading: 330 kB
Downloading: 330 kB
Downloading: 340 kB
Downloading: 340 kB
Downloading: 340 kB
Downloading: 340 kB
Downloading: 350 kB
Downloading: 350 kB
Downloading: 360 kB
Downloading: 360 kB
Downloading: 360 kB
Downloading: 360 kB
Downloading: 370 kB
Downloading: 370 kB
Downloading: 370 kB
Downloading: 370 kB
Downloading: 370 kB
Downloading: 370 kB
Downloading: 380 kB
Downloading: 380 kB
Downloading: 380 kB
Downloading: 380 kB
Downloading: 390 kB
Downloading: 390 kB
Downloading: 390 kB
Downloading: 390 kB
Downloading: 390 kB
Downloading: 390 kB
Downloading: 400 kB
Downloading: 400 kB
Downloading: 400 kB
Downloading: 400 kB
Downloading: 420 kB
Downloading: 420 kB
Downloading: 430 kB
Downloading: 430 kB
Downloading: 440 kB
Downloading: 440 kB
Downloading: 450 kB
Downloading: 450 kB
Downloading: 460 kB
Downloading: 460 kB
Downloading: 460 kB
Downloading: 460 kB
Downloading: 460 kB
Downloading: 460 kB
Downloading: 460 kB
Downloading: 460 kB
Downloading: 470 kB
Downloading: 470 kB
Downloading: 480 kB
Downloading: 480 kB
Downloading: 480 kB
Downloading: 480 kB
Downloading: 480 kB
Downloading: 480 kB
Downloading: 490 kB
Downloading: 490 kB
Downloading: 490 kB
Downloading: 490 kB
Downloading: 500 kB
Downloading: 500 kB
Downloading: 500 kB
Downloading: 500 kB
Downloading: 500 kB
Downloading: 500 kB
Downloading: 500 kB
Downloading: 500 kB
Downloading: 510 kB
Downloading: 510 kB
Downloading: 530 kB
Downloading: 530 kB
Downloading: 530 kB
Downloading: 530 kB
Downloading: 540 kB
Downloading: 540 kB
Downloading: 570 kB
Downloading: 570 kB
Downloading: 580 kB
Downloading: 580 kB
Downloading: 580 kB
Downloading: 580 kB
Downloading: 580 kB
Downloading: 580 kB
Downloading: 580 kB
Downloading: 580 kB
Downloading: 580 kB
Downloading: 580 kB
Downloading: 590 kB
Downloading: 590 kB
Downloading: 590 kB
Downloading: 590 kB
Downloading: 590 kB
Downloading: 590 kB
Downloading: 600 kB
Downloading: 600 kB
Downloading: 600 kB
Downloading: 600 kB
Downloading: 610 kB
Downloading: 610 kB
Downloading: 610 kB
Downloading: 610 kB
Downloading: 610 kB
Downloading: 610 kB
Downloading: 620 kB
Downloading: 620 kB
Downloading: 620 kB
Downloading: 620 kB
Downloading: 630 kB
Downloading: 630 kB
Downloading: 630 kB
Downloading: 630 kB
Downloading: 630 kB
Downloading: 630 kB
Downloading: 640 kB
Downloading: 640 kB
Downloading: 640 kB
Downloading: 640 kB
Downloading: 650 kB
Downloading: 650 kB
Downloading: 660 kB
Downloading: 660 kB
Downloading: 660 kB
Downloading: 660 kB
Downloading: 670 kB
Downloading: 670 kB
Downloading: 670 kB
Downloading: 670 kB
Downloading: 670 kB
Downloading: 670 kB
Downloading: 670 kB
Downloading: 670 kB
Downloading: 670 kB
Downloading: 670 kB
Downloading: 680 kB
Downloading: 680 kB
Downloading: 710 kB
Downloading: 710 kB
Downloading: 710 kB
Downloading: 710 kB
Downloading: 730 kB
Downloading: 730 kB
Downloading: 740 kB
Downloading: 740 kB
Downloading: 750 kB
Downloading: 750 kB
Downloading: 750 kB
Downloading: 750 kB
Downloading: 750 kB
Downloading: 750 kB
Downloading: 760 kB
Downloading: 760 kB
Downloading: 760 kB
Downloading: 760 kB
Downloading: 760 kB
Downloading: 760 kB
Downloading: 770 kB
Downloading: 770 kB
Downloading: 770 kB
Downloading: 770 kB
Downloading: 770 kB
Downloading: 770 kB
Downloading: 780 kB
Downloading: 780 kB
Downloading: 780 kB
Downloading: 780 kB
tanzania <- ne_countries(country="united republic of tanzania", type="countries", scale='large', returnclass = "sf")
g1 <- ggplot(data = tanzania) +
geom_sf()+
xlab("Longitude") + ylab("Latitude") +
ggtitle("The United Republic of Tanzania") +
annotation_scale(location = "bl", width_hint = 0.4) +
annotation_north_arrow(location = "bl", which_north = "true",
pad_x = unit(0.0, "in"), pad_y = unit(0.2, "in"),
style = north_arrow_fancy_orienteering)city_data <- data.frame(city_name=c("Dar es Salaam", "Mwanza", "Arusha", "Dodoma", "Mbeya"))
city_data$lat <- c(-6.7924,-2.5164,-3.3869,-6.1630,-8.9094)
city_data$lon <- c(39.2083,32.9175,36.6830,35.7516,33.4608)
g2 <- ggplot(data = tanzania) +
geom_sf() +
xlab("Longitude") + ylab("Latitude") +
ggtitle("Major Cities in the United Republic of Tanzania") +
annotation_scale(location = "bl", width_hint = 0.4) +
annotation_north_arrow(location = "bl", which_north = "true",
pad_x = unit(0.0, "in"), pad_y = unit(0.2, "in"),
style = north_arrow_fancy_orienteering) +
geom_point(data = city_data, mapping = aes(x = lon, y = lat), colour = "red") +
geom_text(data = city_data, mapping=aes(x=lon, y=lat, label=city_name), nudge_y = 0.5, color="darkblue")Reading layer `nc' from data source
`/Library/Frameworks/R.framework/Versions/4.3-x86_64/Resources/library/sf/shape/nc.shp'
using driver `ESRI Shapefile'
Simple feature collection with 100 features and 14 fields
Geometry type: MULTIPOLYGON
Dimension: XY
Bounding box: xmin: -84.32385 ymin: 33.88199 xmax: -75.45698 ymax: 36.58965
Geodetic CRS: NAD27
#> Reading layer `nc' from data source `/Library/Frameworks/R.framework/Versions/3.6/Resources/library/sf/shape/nc.shp' using driver `ESRI Shapefile'
#> Simple feature collection with 100 features and 14 fields
#> geometry type: MULTIPOLYGON
#> dimension: XY
#> bbox: xmin: -84.32385 ymin: 33.88199 xmax: -75.45698 ymax: 36.58965
#> epsg (SRID): 4267
#> proj4string: +proj=longlat +datum=NAD27 +no_defs
centroid <- ggplot(nc) +
geom_sf() +
geom_point(
aes(color = SID74, size = AREA, geometry = geometry),
stat = "sf_coordinates"
) +
scale_color_viridis_c(option = "C") +
theme(legend.position = "bottom")Veja aqui
Mas …pode ser bem difícil
penguins_csv <- "https://raw.githubusercontent.com/jcheng5/simplepenguins.R/main/penguins.csv"
df <- readr::read_csv(penguins_csv)
# Find subset of columns that are suitable for scatter plot
df_num <- df |> select(where(is.numeric), -Year)
ui <- page_sidebar(
theme = bs_theme(bootswatch = "minty"),
sidebar = sidebar(
varSelectInput("xvar", "X variable", df_num, selected = "Bill Length (mm)"),
varSelectInput("yvar", "Y variable", df_num, selected = "Bill Depth (mm)"),
checkboxGroupInput(
"species", "Filter by species",
choices = unique(df$Species),
selected = unique(df$Species)
),
hr(), # Add a horizontal rule
checkboxInput("by_species", "Show species", TRUE),
checkboxInput("show_margins", "Show marginal plots", TRUE),
checkboxInput("smooth", "Add smoother"),
),
plotOutput("scatter")
)
server <- function(input, output, session) {
subsetted <- reactive({
req(input$species)
df |> filter(Species %in% input$species)
})
output$scatter <- renderPlot({
p <- ggplot(subsetted(), aes(!!input$xvar, !!input$yvar)) + list(
theme(legend.position = "bottom"),
if (input$by_species) aes(color = Species),
geom_point(),
if (input$smooth) geom_smooth()
)
if (input$show_margins) {
margin_type <- if (input$by_species) "density" else "histogram"
p <- ggExtra::ggMarginal(p, type = margin_type, margins = "both",
size = 8, groupColour = input$by_species, groupFill = input$by_species)
}
p
}, res = 100)
}
shinyApp(ui, server)Flexdashboard
Baseado em R Markdown
Pode ser salvo em html, partilhado ou publicado em uma página simples.
Precisamos então…
rm(list=ls()) #limpa o ambient
if (!require(pacman)) install.packages("pacman") #garante que tem o pacman
pacman::p_load(tidyverse, rio, sf, rnaturalearth, geobr,
lubridate, ggspatial, ggthemes, gsubfn, ggsn,
leaflet, htmlwidgets, flexdashboard, shiny,
bslib,ggExtra, plotly )
pacman::p_load_gh("yutannihilation/ggsflabel")Exemplos
Onde o R Nasceu
regiao_geobr <- read_region() %>%
rename(regiao=`name_region`) %>%
mutate(regiao=if_else(regiao=="Centro Oeste", "Centro-Oeste", regiao))
brasil_bruto <- import("Exercicios/covid_br_2022.csv")
brasil_regiao <- brasil_bruto %>%
filter(codmun != "") %>%
group_by(regiao) %>%
summarise(Maximo_dia=max(casosNovos, na.rm=T))
brasil_regiao_geom <- brasil_regiao%>%
left_join(regiao_geobr) %>%
mutate(LL=st_coordinates(st_centroid(geom)))
leaflet(brasil_regiao_geom) %>%
addTiles() %>%
addCircles(lng = ~LL[,"X"], lat = ~LL[,"Y"], weight = 1,
radius = ~Maximo_dia*10, popup = ~paste(regiao,
format(Maximo_dia, big.mark="."), "casos"
))